﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using EDiamondModel;
using Subgurim.Controles;
using System.Configuration;

public partial class Pages_BanDo1 : System.Web.UI.Page
{
    EDiamondEntities1 db = new EDiamondEntities1();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (Request.QueryString["ID"] != null)
                LayBanDoEDiamond(int.Parse(Request.QueryString["ID"].ToString()));
            else
                LayBanDoHeThong();
            Label SLuong = this.Page.Master.FindControl("SLuong") as Label;
            
        }
        double sl = GioHang.TongSanpham();
        double tg = GioHang.TongTrigia();
        Label SL = this.Page.Master.FindControl("SLuong") as Label;
        SL.Text = "<b>" + sl.ToString() + "<b>";
        Label TGia = this.Page.Master.FindControl("TGia") as Label;
        TGia.Text = "<b>" + tg.ToString() + "<b>";
    }

    public void LayBanDoHeThong()
    {
        //Đọc dữ liệu của ediamond
        EDiamondEntities1 db = new EDiamondEntities1();
        var query = db.Diamonds;

        //List<GMarker> dsGMarker = new List<GMarker>();
        Subgurim.Controles.GMarker[] gMarker = new Subgurim.Controles.GMarker[10];//mảng đánh dấu
        GInfoWindow[] windows = new GInfoWindow[10];    //tooltip
        Subgurim.Controles.GLatLng glating;     // tọa độ (kinh độ và vĩ độ);
        GeoCode geocode;
        int index = -1;
        double sumLat = 0, sumLng = 0;
        foreach (Diamond et in query)
        {
            index++;
            string Dia_chi = string.Format("{0},{1},{2},{3},{4},{5}", et.So, et.Duong, et.Phuong, et.Quan, et.TinhThanh, "Viet Nam");
            string skey = ConfigurationManager.AppSettings["googlemap.subgurim.net"];
            geocode = GMap1.getGeoCodeRequest(Dia_chi);
            sumLat = sumLat + geocode.Placemark.coordinates.lat; //tổng Vĩ độ các điểm
            sumLng = sumLng + geocode.Placemark.coordinates.lng; //tổng Kinh độ các điểm
            glating = new Subgurim.Controles.GLatLng(geocode.Placemark.coordinates.lat, geocode.Placemark.coordinates.lng);
            gMarker[index] = new Subgurim.Controles.GMarker(glating);

            //Khai báo thông tin cho cửa sổ tooltip
            windows[index] = new GInfoWindow(gMarker[index], @"<b>" + et.Ten +
                                                       "</b><br /><b>Thành Phố</b>:" + et.TinhThanh + " ", true);

            GMap1.Add(gMarker[index]);
            GMap1.Add(windows[index]);
        }
        sumLat = sumLat / (index + 1);  //tọa độ trung tâm giữa các điểm
        sumLng = sumLng / (index + 1);

        glating = new Subgurim.Controles.GLatLng(sumLat, sumLng);
        GMap1.setCenter(glating, 12, Subgurim.Controles.GMapType.GTypes.Normal);
        GMap1.Add(new GControl(GControl.preBuilt.GOverviewMapControl));
        GMap1.Add(new GControl(GControl.preBuilt.LargeMapControl));
    }
    public void LayBanDoEDiamond(int MaHeThong)
    {
        //lấy thông tin của ediamond được chọn
        Diamond et = db.Diamonds.FirstOrDefault(x => x.DiamondID == MaHeThong);

        GMap1.reset();
        GeoCode geocode;
        string Dia_chi = string.Format("{0},{1},{2},{3},{4},{5}", et.So, et.Duong, et.Phuong, et.Quan, et.TinhThanh, "Viet Nam");
        string skey = ConfigurationManager.AppSettings["googlemap.subgurim.net"];
        geocode = GMap1.getGeoCodeRequest(Dia_chi);
        Subgurim.Controles.GLatLng glating = new Subgurim.Controles.GLatLng(geocode.Placemark.coordinates.lat, geocode.Placemark.coordinates.lng);
        Subgurim.Controles.GMarker gMarker = new Subgurim.Controles.GMarker(glating);
        GMap1.resetMarkers();

        GMap1.Add(gMarker);

        //Khai báo thông tin cho cửa sổ tooltip
        GInfoWindow window = new GInfoWindow(gMarker, @"<b>" + et.Ten +
                                                      "</b> <br /> <b>Địa chỉ</b>:" + et.So + ", " + et.Duong + ", " + et.Phuong +
                                                      "<br /><b>Quận</b>:" + et.Quan +
                                                      "<br /><b>Thành Phố</b>:" + et.TinhThanh + " ", true);
        GMap1.resetCenter();
        GMap1.setCenter(glating, 16, Subgurim.Controles.GMapType.GTypes.Normal);
        GMap1.Add(new GControl(GControl.preBuilt.GOverviewMapControl));
        GMap1.Add(new GControl(GControl.preBuilt.LargeMapControl));
        GMap1.Add(window);
    }

}